package com.activiti.dao;

import org.springframework.orm.hibernate3.support.HibernateDaoSupport;


public abstract class BaseDao<T> extends HibernateDaoSupport{
	public abstract Class getEntityClass();
	
	public  T get(String id){
		return (T)getHibernateTemplate().get(getEntityClass(), id);
	}
	
	public T get(Short id){
		return (T)getHibernateTemplate().get(getEntityClass(), id);
	}
	
	public void delete(Short id){
		getHibernateTemplate().delete(get(id));
	}
	
	public void delete(T t){
		getHibernateTemplate().delete(t);
	}
	
	public void delete(String id){
		getHibernateTemplate().delete(get(id));
	}
	
	public void insert(T t){
		getHibernateTemplate().save(t);
	}
	
	public void update(T t){
		getHibernateTemplate().update(t);
	}
}
